home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / emacs-18.59src.lha / emacs-18.59 / lisp / amiga-mouse.elc < prev    next >
Encoding:
Text File  |  1992-11-21  |  9.9 KB  |  266 lines

  1.  
  2. (provide (quote amiga-mouse))
  3.  
  4. (defconst amiga-button-right (char-to-string 0))
  5.  
  6. (defconst amiga-button-middle (char-to-string 1))
  7.  
  8. (defconst amiga-button-left (char-to-string 2))
  9.  
  10. (defconst amiga-button-right-up (char-to-string 4))
  11.  
  12. (defconst amiga-button-middle-up (char-to-string 5))
  13.  
  14. (defconst amiga-button-left-up (char-to-string 6))
  15.  
  16. (defconst amiga-button-s-right (char-to-string 16))
  17.  
  18. (defconst amiga-button-s-middle (char-to-string 17))
  19.  
  20. (defconst amiga-button-s-left (char-to-string 18))
  21.  
  22. (defconst amiga-button-s-right-up (char-to-string 20))
  23.  
  24. (defconst amiga-button-s-middle-up (char-to-string 21))
  25.  
  26. (defconst amiga-button-s-left-up (char-to-string 22))
  27.  
  28. (defconst amiga-button-m-right (char-to-string 32))
  29.  
  30. (defconst amiga-button-m-middle (char-to-string 33))
  31.  
  32. (defconst amiga-button-m-left (char-to-string 34))
  33.  
  34. (defconst amiga-button-m-right-up (char-to-string 36))
  35.  
  36. (defconst amiga-button-m-middle-up (char-to-string 37))
  37.  
  38. (defconst amiga-button-m-left-up (char-to-string 38))
  39.  
  40. (defconst amiga-button-c-right (char-to-string 64))
  41.  
  42. (defconst amiga-button-c-middle (char-to-string 65))
  43.  
  44. (defconst amiga-button-c-left (char-to-string 66))
  45.  
  46. (defconst amiga-button-c-right-up (char-to-string 68))
  47.  
  48. (defconst amiga-button-c-middle-up (char-to-string 69))
  49.  
  50. (defconst amiga-button-c-left-up (char-to-string 70))
  51.  
  52. (defconst amiga-button-m-s-right (char-to-string 48))
  53.  
  54. (defconst amiga-button-m-s-middle (char-to-string 49))
  55.  
  56. (defconst amiga-button-m-s-left (char-to-string 50))
  57.  
  58. (defconst amiga-button-m-s-right-up (char-to-string 52))
  59.  
  60. (defconst amiga-button-m-s-middle-up (char-to-string 53))
  61.  
  62. (defconst amiga-button-m-s-left-up (char-to-string 54))
  63.  
  64. (defconst amiga-button-c-s-right (char-to-string 80))
  65.  
  66. (defconst amiga-button-c-s-middle (char-to-string 81))
  67.  
  68. (defconst amiga-button-c-s-left (char-to-string 82))
  69.  
  70. (defconst amiga-button-c-s-right-up (char-to-string 84))
  71.  
  72. (defconst amiga-button-c-s-middle-up (char-to-string 85))
  73.  
  74. (defconst amiga-button-c-s-left-up (char-to-string 86))
  75.  
  76. (defconst amiga-button-c-m-right (char-to-string 96))
  77.  
  78. (defconst amiga-button-c-m-middle (char-to-string 97))
  79.  
  80. (defconst amiga-button-c-m-left (char-to-string 98))
  81.  
  82. (defconst amiga-button-c-m-right-up (char-to-string 100))
  83.  
  84. (defconst amiga-button-c-m-middle-up (char-to-string 101))
  85.  
  86. (defconst amiga-button-c-m-left-up (char-to-string 102))
  87.  
  88. (defconst amiga-button-c-m-s-right (char-to-string 112))
  89.  
  90. (defconst amiga-button-c-m-s-middle (char-to-string 113))
  91.  
  92. (defconst amiga-button-c-m-s-left (char-to-string 114))
  93.  
  94. (defconst amiga-button-c-m-s-right-up (char-to-string 116))
  95.  
  96. (defconst amiga-button-c-m-s-middle-up (char-to-string 117))
  97.  
  98. (defconst amiga-button-c-m-s-left-up (char-to-string 118))
  99.  
  100. (defmacro cadr (x) (byte-code "ÁÂDD‡" [x car cdr] 3))
  101.  
  102. (defmacro caddr (x) (byte-code "ÁÂÂDDD‡" [x car cdr] 4))
  103.  
  104. (defmacro cadddr (x) (byte-code "ÁÂÂÂDDDD‡" [x car cdr] 5))
  105.  
  106. (defun coordinates-in-window-p (arg w) (byte-code "    @    A@Å ! @Y…7 AA@W…7
  107. A@Y…7
  108. AAA@W…7 @Z
  109. A@ZD+‡" [x arg y edges w window-edges] 4))
  110.  
  111. (defvar amiga-process-mouse-hook nil "\
  112. Hook to run after each mouse event is processed.  Should take two
  113. arguments; the first being a list (XPOS YPOS) corresponding to character
  114. offset from top left of screen and the second being a specifier for the
  115. buttons/keys.
  116.  
  117. This will normally be set on a per-buffer basis.")
  118.  
  119. (defun amiga-flush-mouse-queue nil "\
  120. Process all queued mouse events." (interactive) (byte-code "ÈĠÅV… Æ ˆÇÀ!…ÀJ…È    
  121. #ˆ‚‡" [amiga-process-mouse-hook amiga-mouse-pos amiga-mouse-item nil amiga-mouse-events 0 amiga-proc-mouse-event boundp funcall] 8))
  122.  
  123. (defun amiga-mouse-select (arg) "\
  124. Select Emacs window the mouse is on." (byte-code "Ç ÂÇ ÂÈ =ƒÉ
  125. \"‰‚<    ?…&É
  126. \"‰?…<Ê !‰ˆ =…8Ɖˆ‚ˆË !ˆ ,‡" [start-w done nil w rel-coordinate arg t selected-window minibuffer-window coordinates-in-window-p next-window select-window] 9))
  127.  
  128. (defun amiga-mouse-keep-one-window (arg) "\
  129. Select Emacs window mouse is on, then kill all other Emacs windows." (byte-code "Á!… ‡" [arg amiga-mouse-select delete-other-windows] 3))
  130.  
  131. (defun amiga-mouse-select-and-split (arg) "\
  132. Select Emacs window mouse is on, then split it vertically in half." (byte-code "Â!…    ÃÁ!‡" [arg nil amiga-mouse-select split-window-vertically] 3))
  133.  
  134. (defun amiga-mouse-set-point (arg) "\
  135. Select Emacs window mouse is on, and move point to mouse position." (byte-code "È    !É@A@…WÊ Ë =ƒ‚ÌÍ !ˆ†-ΠÌVƒ4i‚<iÏiРS\"Z‰ˆÑÒ ÓΠ]S`ÓUƒR
  136. [‚SÌ
  137. $!),‡" [relative-coordinate arg margin-column rel-x rel-y prompt-width minibuffer-prompt-width truncate-lines amiga-mouse-select nil selected-window minibuffer-window 0 move-to-window-line window-hscroll % window-width move-to-column + 1] 14))
  138.  
  139. (defun amiga-mouse-set-mark (arg) "\
  140. Select Emacs window mouse is on, and set mark at mouse position.
  141. Display cursor at that position for a second." (byte-code "Ä!…`ŎÆ!ˆÇÂÃ\"ˆÈÉ!))‡" [arg point-save nil t amiga-mouse-select ((byte-code "b‡" [point-save] 1)) amiga-mouse-set-point push-mark sit-for 1] 5))
  142.  
  143. (defun amiga-mouse-cut (arg) "\
  144. Select Emacs window mouse is on, and set mark at mouse position. 
  145. Display cursor at that position for a second. Then cut." (byte-code "Ä!…`ŎÆ!ˆÇÂÃ\"ˆÈ    `\"ˆÉÊ!))‡" [arg point-save nil t amiga-mouse-select ((byte-code "b‡" [point-save] 1)) amiga-mouse-set-point push-mark kill-region sit-for 1] 6))
  146.  
  147. (defun amiga-mouse-copy (arg) "\
  148. Select Emacs window mouse is on, and set mark at mouse position. 
  149. Display cursor at that position for a second. Then copy." (byte-code "Ä!…`ŎÆ!ˆÇÂÃ\"ˆÈ    `\"ˆÉÊ!))‡" [arg point-save nil t amiga-mouse-select ((byte-code "b‡" [point-save] 1)) amiga-mouse-set-point push-mark copy-region-as-kill sit-for 1] 6))
  150.  
  151. (defun amiga-mouse-paste (arg) "\
  152. Move point to mouse position (and select window), then paste." (byte-code "Á!… Â!ˆÃ ‡" [arg amiga-mouse-select amiga-mouse-set-point yank] 4))
  153.  
  154. (defun amiga-mouse-iconify (arg) (byte-code "À ‡" [amiga-iconify] 2))
  155.  
  156. (defun amiga-mouse-ignore (arg) (byte-code "À‡" ["Don't do anything."] 1))
  157.  
  158. (define-key mouse-map amiga-button-right (quote amiga-mouse-ignore))
  159.  
  160. (define-key mouse-map amiga-button-middle (quote amiga-mouse-ignore))
  161.  
  162. (define-key mouse-map amiga-button-left (quote amiga-mouse-ignore))
  163.  
  164. (define-key mouse-map amiga-button-right-up (quote amiga-mouse-ignore))
  165.  
  166. (define-key mouse-map amiga-button-middle-up (quote amiga-mouse-ignore))
  167.  
  168. (define-key mouse-map amiga-button-left-up (quote amiga-mouse-ignore))
  169.  
  170. (define-key mouse-map amiga-button-s-right (quote amiga-mouse-ignore))
  171.  
  172. (define-key mouse-map amiga-button-s-middle (quote amiga-mouse-ignore))
  173.  
  174. (define-key mouse-map amiga-button-s-left (quote amiga-mouse-ignore))
  175.  
  176. (define-key mouse-map amiga-button-s-right-up (quote amiga-mouse-ignore))
  177.  
  178. (define-key mouse-map amiga-button-s-middle-up (quote amiga-mouse-ignore))
  179.  
  180. (define-key mouse-map amiga-button-s-left-up (quote amiga-mouse-ignore))
  181.  
  182. (define-key mouse-map amiga-button-m-right (quote amiga-mouse-ignore))
  183.  
  184. (define-key mouse-map amiga-button-m-middle (quote amiga-mouse-ignore))
  185.  
  186. (define-key mouse-map amiga-button-m-left (quote amiga-mouse-ignore))
  187.  
  188. (define-key mouse-map amiga-button-m-right-up (quote amiga-mouse-ignore))
  189.  
  190. (define-key mouse-map amiga-button-m-middle-up (quote amiga-mouse-ignore))
  191.  
  192. (define-key mouse-map amiga-button-m-left-up (quote amiga-mouse-ignore))
  193.  
  194. (define-key mouse-map amiga-button-c-right (quote amiga-mouse-ignore))
  195.  
  196. (define-key mouse-map amiga-button-c-middle (quote amiga-mouse-ignore))
  197.  
  198. (define-key mouse-map amiga-button-c-left (quote amiga-mouse-ignore))
  199.  
  200. (define-key mouse-map amiga-button-c-right-up (quote amiga-mouse-ignore))
  201.  
  202. (define-key mouse-map amiga-button-c-middle-up (quote amiga-mouse-ignore))
  203.  
  204. (define-key mouse-map amiga-button-c-left-up (quote amiga-mouse-ignore))
  205.  
  206. (define-key mouse-map amiga-button-m-s-right (quote amiga-mouse-ignore))
  207.  
  208. (define-key mouse-map amiga-button-m-s-middle (quote amiga-mouse-ignore))
  209.  
  210. (define-key mouse-map amiga-button-m-s-left (quote amiga-mouse-ignore))
  211.  
  212. (define-key mouse-map amiga-button-m-s-right-up (quote amiga-mouse-ignore))
  213.  
  214. (define-key mouse-map amiga-button-m-s-middle-up (quote amiga-mouse-ignore))
  215.  
  216. (define-key mouse-map amiga-button-m-s-left-up (quote amiga-mouse-ignore))
  217.  
  218. (define-key mouse-map amiga-button-c-s-right (quote amiga-mouse-ignore))
  219.  
  220. (define-key mouse-map amiga-button-c-s-middle (quote amiga-mouse-ignore))
  221.  
  222. (define-key mouse-map amiga-button-c-s-left (quote amiga-mouse-ignore))
  223.  
  224. (define-key mouse-map amiga-button-c-s-right-up (quote amiga-mouse-ignore))
  225.  
  226. (define-key mouse-map amiga-button-c-s-middle-up (quote amiga-mouse-ignore))
  227.  
  228. (define-key mouse-map amiga-button-c-s-left-up (quote amiga-mouse-ignore))
  229.  
  230. (define-key mouse-map amiga-button-c-m-right (quote amiga-mouse-ignore))
  231.  
  232. (define-key mouse-map amiga-button-c-m-middle (quote amiga-mouse-ignore))
  233.  
  234. (define-key mouse-map amiga-button-c-m-left (quote amiga-mouse-ignore))
  235.  
  236. (define-key mouse-map amiga-button-c-m-right-up (quote amiga-mouse-ignore))
  237.  
  238. (define-key mouse-map amiga-button-c-m-middle-up (quote amiga-mouse-ignore))
  239.  
  240. (define-key mouse-map amiga-button-c-m-left-up (quote amiga-mouse-ignore))
  241.  
  242. (define-key mouse-map amiga-button-c-m-s-right (quote amiga-mouse-ignore))
  243.  
  244. (define-key mouse-map amiga-button-c-m-s-middle (quote amiga-mouse-ignore))
  245.  
  246. (define-key mouse-map amiga-button-c-m-s-left (quote amiga-mouse-ignore))
  247.  
  248. (define-key mouse-map amiga-button-c-m-s-right-up (quote amiga-mouse-ignore))
  249.  
  250. (define-key mouse-map amiga-button-c-m-s-middle-up (quote amiga-mouse-ignore))
  251.  
  252. (define-key mouse-map amiga-button-c-m-s-left-up (quote amiga-mouse-ignore))
  253.  
  254. (define-key mouse-map amiga-button-left (quote amiga-mouse-set-point))
  255.  
  256. (define-key mouse-map amiga-button-s-left (quote amiga-mouse-set-mark))
  257.  
  258. (define-key mouse-map amiga-button-c-left (quote amiga-mouse-cut))
  259.  
  260. (define-key mouse-map amiga-button-m-left (quote amiga-mouse-copy))
  261.  
  262. (define-key mouse-map amiga-button-middle (quote amiga-mouse-paste))
  263.  
  264. (define-key mouse-map amiga-button-s-middle (quote amiga-mouse-iconify))
  265.  
  266. (define-key amiga-map "M" (quote amiga-flush-mouse-queue))
  267.  
  268. (setq amiga-mouse-initialized t)
  269.